1. Field of the Invention
The present invention relates to a cache management method for a storage device and, more particularly, cache space setting and management for a storage device in a computer system in which database management systems (DBMSs) run.
2. Description of the Prior Art
Through analysis of software organization of application (AP) programs that are run on a server computer, it is evident that the majority of the AP programs use databases (DBs) as a basis of their operation and that database management systems (DBMSs) responsible for a sequence of processes and management of the DBs are very important.
Meanwhile, there are performance requirements defined per job type in using the AP programs and achieving such requirements is strongly required and hugely important in computer system management. DBMS performance greatly depends on data access performance. Accordingly, it is important to enhance the performance of access to the storage device.
In general, a storage device comprising a great number of disk storage units has a data cache which is fast accessible and in which data is temporarily stored within the storage device. When reading data, if the data resides in the cache (hit), the data is read from the cache. U.S. Pat. No. 5,434,992 (Document 1) discloses a technique for increasing the cache hit rate by partitioning a cache into subcaches for storing different data types and optimally allocating cache space to the subcaches. The system disclosed in the above document 1 carries out cache data replacement control, using a least recently used (LRU) cache replacement algorithm and obtains information for each cache hit about its approximate position of reference in an LRU management list. When reallocating cache space to the subcaches, the system estimates cache hit rates for the subcaches, using the above information, and thus optimizing the subcache partitions.
Generally, computers also have a cache in the form of a file cache or the like. Theodore M. Wong and John Wilkes (Document 2) discuss a technique for enhancing data access performance by exclusively using the file cache on a computer and the data cache on the storage device. This technique uses a mechanism in which data that has become uncached on the computer is cached on the storage device. The storage device principally performs cache data replacement control, according to the LRU cache replacement algorithm. However, the storage device inserts data read from a disk storage unit at the tail of LRU in the LRU management list and controls cached data so that the data does not remain in the data cache on the storage device. In order to further improve the cache hit rate, the above technique uses additional LRU management lists called ghost LRU caches which are separately provided for data read from disk storage units and data given from the computer, respectively. Using the ghosts, a method for optimizing the initial data insertion position in the overall cache management LRU list for each cache is also discussed.    Document 1: U.S. Pat. No. 5,434,992    Document 2:
Theodore M. Wong and John Wilkes, “My cache or yours? Making storage more exclusive”, USENIX Annual Technical Conference (USENIX 2002), pp. 161-175, 10-15 Jun. 2002
In general, data that is managed by DBMSs is definitely classified into types, according to its content and purpose of use. Data types have different access patterns. For some data type, its access pattern required can be predefined. However, the prior art techniques for cache enhancement does not exactly consider such access patterns.
The technique of Document 1 partitions the cache into subcaches and allocates cache space to the subcaches for different data types and, therefore, enables caching adaptive to difference of data type specific access patterns, but does not take data and process specifics into consideration. The technique of Document 2 takes no consideration of the caching adaptive to the difference of data type specific access patterns.